using System;
using System.Collections.Generic;
using MyGame.Character;
using MyGame.Global;

namespace MyGame.AI.GOAP {
	public interface IGoapFactory {
		IGoal         GenerateGoal(GoapGoalType                 goalType,   Enemy owner);
		IAction       GenerateAction(GoapActionType             actionType, Enemy owner);
		GoapCondition GenerateCondition(List<GoapConditionType> conditionTypes);
		MultiwayTree  GenerateMultiwayTree(IGoal                goal, List<IAction> actions);
	}
}
